{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3f202cb5",
   "metadata": {},
   "source": [
    "# activations\n",
    "\n",
    "激活函数\n",
    "\n",
    "tf = 2.9.1\n",
    "\n",
    "\n",
    "- deserialize 根据名称获取对应激活函数\n",
    "\n",
    "激活函数可调用的方式：\n",
    "- 1.tf.nn.activations_name  采用tf.nn方法\n",
    "- 2.tf.keras.activations.activations_method 调用keras.activate层\n",
    "- 3.在layer的activation参数中填写对应名称\n",
    "\n",
    "激活函数：\n",
    "- elu\n",
    "- exponential\n",
    "- gelu\n",
    "- hard_sigmoid\n",
    "- linear\n",
    "- relu\n",
    "- selu\n",
    "- sigmoid\n",
    "- tanh"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5266571c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.9.1'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "tf.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "10c8154d",
   "metadata": {},
   "source": [
    "## deserialize\n",
    "\n",
    "根据名称获取对应激活函数\n",
    "\n",
    "```python\n",
    "tf.keras.activations.deserialize(\n",
    "    name, custom_objects=None\n",
    ")\n",
    "```\n",
    "\n",
    "**example**\n",
    "- tf.keras.activations.deserialize(name='relu')\n",
    "- tf.keras.activations.deserialize(name='linear')\n",
    "- tf.keras.activations.deserialize(name='sigmoid')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "797ef486",
   "metadata": {},
   "source": [
    "## elu\n",
    "\n",
    "```python\n",
    "tf.keras.activations.elu(\n",
    "    x, alpha=1.0\n",
    ")\n",
    "```\n",
    "\n",
    "**math:**\n",
    "\n",
    "x if x > 0 and alpha * (exp(x) - 1) if x < 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "id": "5ade75be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x28180d5b0>"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtqUlEQVR4nO3deVxUZf//8dfHfU8NxS2X1FRERSVScaE019LK6tZfZSmKWtaNaavV3V22WGndmqWmVt7ZV8syLXfzRtwVcZdIMkwEFTRXXFiu3x8zFRoIOMOcWT7Px2MenDnnmrnec8SPl2fOuY4YY1BKKeX9ilkdQCmllGtowVdKKR+hBV8ppXyEFnyllPIRWvCVUspHlLA6wLX4+fmZ+vXrWx1DKaU8xvbt29OMMdVy2+bWBb9+/frExMRYHUMppTyGiBzKa5se0lFKKR+hBV8ppXyEFnyllPIRWvCVUspHOFzwReQmEfmfiMSJyD4R+WcubUREJotIgojsFpE2jvarlFKqcJxxlk4mMMYYEysiFYHtIrLKGLM/R5teQGP74zbgY/vP65adnU1SUhLnz5935G28UsmSJalevTqVKlWyOopSyo04XPCNMSlAin35rIjEAbWBnAW/HzDH2Kbm3CwilUWkpv211yUtLQ0RoUmTJhQrpkem/mCM4cKFCxw5cgRAi75S6k9OrZQiUh9oDWy5alNt4HCO50n2dbm9R4SIxIhITGpqap59nTp1Cn9/fy32VxERypUrR+3atTl+/LjVcZRShfTRR7vp3TuqSN7baRdeiUgF4Bsg0hhz5urNubwk14n4jTEzgBkAwcHBeU7Wn5WVRcmSJa8zrfcrW7YsGRkZVsdQShVQcvJZevaMZc+eLpQocYjjx89TvXp5p/bhlOGxiJTEVuznGmO+zaVJEnBTjud1gGQn9OvoW3gt3TdKeY433oihbt3T7NnTiaCgtRw+fKPTiz045ywdAWYBccaYSXk0WwwMsp+t0w447cjxe6WU8gYHDpykYcP1vPRSMMWLX2L69H3s2NGFGjUqFEl/zjikEwo8AuwRkZ32dS8CdQGMMdOApUBvIAFIBwY7oV+llPJI2dmGZ57ZzPvvN8KY2+jYMYolS9pTqVLpIu3XGWfprCf3Y/Q52xjgCUf7UkopT7dz5zF69/6VlJT2lCu3n08/PcmDD4a5pG89xUUppVwgO9swZMg62rQpTUpKK3r1iuLEiVt48MEmLsvg1tMjK8jIyNCzkZTycNHRh7n33uOcPNmJSpV28dVXlejRI8zlOXSE72KXLl0iMjISf39/ypQpQ7t27Vi/fj0AUVFRiAhLly4lJCSEUqVKsWLFCs6fP8+gQYOoUKEC/v7+vPXWW9x111089thj1n4YpdQ1Xb6cxX33raVLl6qcPNmYAQOiOXGiBT16NLAkj9eM8CMjI9m5c6dL+wwKCuKDDz4o1GueffZZvvrqK2bPns3NN9/MpEmT6NmzJwcOHPizzXPPPcfEiRNp1KgRFStWZMyYMaxdu5aFCxdSq1YtXn/9ddatW8e9997r5E+klHKWxYsTeOihC5w714Vq1bbx/fe1ue22zpZm8pqC7wnOnz/Pxx9/zMyZM+nTpw8A06ZNY82aNUydOpVu3boB8Oqrr9K9e3cAzp07x+zZs5kzZw533nknALNmzaJOnTrWfAil1DWlp2fQt+8GfvyxPSLnGDlyAx9+2IFixay/NsZrCn5hR9pW+OWXX8jIyCA0NPTPdcWLF6d9+/bs37//z4IfHBz8t9eEhIT8ua58+fIEBga6LrhSqkC++CKOYcOKcfFiGDfdtJFlyxrTvHlo/i90ET2G70K2s1Nzvwo257ry5csX6DVKKfdw8uQFbrstikceuYXLl2/ghRe28NtvHWjePNd7iVtGC74LNWrUiFKlSv35JS3Y5gTatGkTAQEBeb6mZMmSbN269c916enp7N27t8jzKqXyN3nyLmrUOMrWrWE0abKRgwfL8uabDs3+XmS85pCOJyhfvjwjR47k+eefx8/PjwYNGvD+++9z7NgxHn/8ceLj4//2mgoVKjBkyBCee+45/Pz8qFmzJuPHjyc7O1tH/UpZKCnpDD167GT//s6UKHGId9/dwdixnayOdU1a8F1swoQJAAwePJhTp07RunVrli9fTs2aNXMt+ADvvfce58+fp2/fvlSoUIHRo0dz7NgxypQp48roSim7f/97G6+/XpusrFDato1i6dJbqV69ntWx8iV/HCN2R8HBwSYmJibXbXFxcTRr1szFidzDpUuXqFevHs888wxjxozJs50v7yOlikJ8/Al69vyJxMRQSpdOYOrUi4SHu9cJFCKy3RgTnNs2HeF7gB07dhAXF0dISAhnz55lwoQJnD17ln/84x9WR1PKJ2RnG0aP3sSUKY0xJoQuXaJYvLjoJztzNi34HmLSpEnEx8dTokQJgoKCiI6O1nPxlXKB2Nij9OlziKNHO1Cu3H7mzPmd/v3DrI51XbTge4DWrVuT16EtpVTRyM42DB68njlzWgItuOuuKL7+uiNlynhu2fTc5EopVUTWrDlE//4nOXWqE5Ur72DBgqp07RpmdSyH6Xn4Silld/lyFv36RdG1azVOnbqZhx6KJjW1FV27uv8ZOAXhrHvazhaR4yKS69VAIhImIqdFZKf98Yoz+lVKKWdZuPAAVavGsXhxGNWr72Xr1nS++KIzJUp4z7jYWZ/kM6BnPm3WGWOC7I/XnNSvUko55Ny5y9x+exT33VeP9PQajBq1kZSUW7n11ppWR3M6pxR8Y0w0cNIZ76WUUq7y2Wf78fM7RFRUGPXqbWPfPpgyxT1mtiwKrvy/SnsR2SUiy0SkeV6NRCRCRGJEJCY1NdWF8ZRSviItLZ3g4CgGD25CRkYFXn55K4mJoTRr5md1tCLlqoIfC9QzxrQCpgDf5dXQGDPDGBNsjAmuVs29ZppzBRFhwYIFVsdQymtNmrSDmjVT2b49jGbNNvDrr+V47bWQ/F/oBVxS8I0xZ4wx5+zLS4GSIuLd/5QqpdzKb7+dplmzaMaMaQ3A++/bJj6rW/cGi5O5jksKvojUEPvUjiISYu/3hCv6Vkqpl1/eSoMG6fz0UyjBwVGkpFQjMjLI6lgu56zTMv8P2AQ0EZEkEQkXkREiMsLe5H5gr4jsAiYDA4w7z9pWhIwxvPPOOzRs2JCyZcvSokULvvjii1zbJiYmIiJ/u8pWD/soVTBxcWnUr7+B8eNDKFXqLJ99Fs+2bWH4+ZWzOpolnHKlrTFmYD7bPwQ+dEZfeYmMBBffw5ygICjsnRVfeuklFixYwNSpU2nSpAmbNm1i2LBhVKlS5c/73CqlHJOdbXjyyY18/HFTjLmV22+PYvHiDlSoUMrqaJbSqRVc6Pz580yaNImVK1fSqZPtRgkNGjRg69atTJ06VQu+Uk6wdWsKd9+dxPHjoZQvv5e5c3+nX78wq2O5Ba8p+B5wD3P279/PxYsX6dmz5xV3q8rIyKB+/frWBVPKC2RmZvPoo+v58ssgIIB77lnL/PkdKVWquNXR3IbXFHxPkJ2dDcD3339P3bp1r9hWsmTJv7UvVsz2FUvOrzsyMjKKMKFSnmnVqkQeeOAUp093pkqVWL791o+wsC5Wx3I7WvBdKCAggNKlS3Po0CHuuOOOfNv/cR1CSkrKn+t2uvqLCqXc2MWLmdx//3qWLLkNqMKjj65j9uyOXnulrKO04LtQxYoVGTt2LGPHjsUYQ+fOnTl37hybN2+mWLFiREREXNG+bNmytGvXjgkTJtCwYUNOnz7NCy+8YFF6pdzLggU/8+ijmaSnh1GjxhaWLKlHmzbufRNxq3nPNHAe4vXXX+fVV1/lvffeo3nz5tx555188803NGjQINf2s2fPBuDWW29l+PDhjB8/3pVxlXI7Z85conPnKB54oAEXLlQjMnIjR46E0KZNDaujuT29ibkX032kvM3MmXsZNaoMly414uab17N8eQCNG1e1OpZbudZNzHWEr5Rye8ePn6dNm7UMGxZAZmZZ/v3vbfzyS0ct9oWkBV8p5dbefTeW2rVPsGNHFwID15GYWJFXXrnV6lgeSb+0VUq5pUOHTtO9+25+/rkTJUv+yuTJu3jyST3V0hE6wldKuZ0XXtjCzTdf4Oef23PbbVEcPVqDJ59sZXUsj+fRI3xjzBVXrKq/uPOX8UrlZe/eVHr1SiApqT1lysTzySe/8/DDYVbH8hoeO8IvXry4XnV6DRcuXMj16l2l3FF2tmHEiPW0bFmcpKQ2dOsWxYkTN/Pww3qWmTN5bMGvXLkyx44d+3O6AmVjjCE9PZ0jR45QvXp1q+Mola9Nm45Qo0YM06d3pHz5I3z/fRKrVoVRrpwOWJzNYw/p+Pn5kZSURHx8vNVR3E7JkiXx9/enUqVKVkdRKk+Zmdk8/PA65s9vA9xA//5r+fJLneysKHlswS9WrNjfJiBTSnmG5ct/5R//OMOZM12oWnU7ixb507GjnoFT1Jx1x6vZInJcRPbmsV1EZLKIJIjIbhFp44x+lVKe5eLFTHr1iqJXr5qcPVuP8PD1pKa2oWPHOlZH8wnOOob/GdDzGtt7AY3tjwjgYyf1q5TyEPPnx1O16gGWLw+jVq2dxMZeYuZMndnSlZxS8I0x0cDJazTpB8wxNpuByiJS0xl9K6Xc26lTFwkNjWLAgIZcunQjY8du4siRdgQF+Vsdzee46iyd2sDhHM+T7Ov+RkQiRCRGRGJSU1NdEk4pVTSmTduDv/8RNm4Mo2HDzfz8c0nefbe91bF8lqsKfm7/Z8v1yiBjzAxjTLAxJviPG4AopTzL0aPnaNVqLSNHNicrqzTjx8eQkNCRhg2rWB3Np7mq4CcBN+V4XgdIdlHfSikXeuut7dSpc4rduzvRosU6fvvtBsaNy3W2XuVirir4i4FB9rN12gGnjTEp+b1IKeU5fvnldxo3XseLL7alePHLTJ26l927u1CrVkWroyk7p5yHLyL/B4QBfiKSBPwLKAlgjJkGLAV6AwlAOjDYGf0qpdzDM89sYtKkhmRnt6dDhyiWLGlH5cplrI6lruKUgm+MGZjPdgM84Yy+lFLuY/fu4/Tu/QtHjrSnbNk4Zs/+nQEDwqyOpfLgsXPpKKWsk51tGDp0PUFBJTlypDU9ekSRltaIAQOaWB1NXYPHTq2glLLG+vVJ3HPPMU6c6EilSruYN68ivXqFWR1LFYCO8JVSBZKZmc3996+lU6fKnDhxCw88sJYTJ1rQq9fNVkdTBaQjfKVUvpYsOcjAgec4e7YLfn4xfPddDUJDdbIzT6MjfKVUntLTM+jePYq77qrNuXN1iIjYwLFjbQkN1cnOPJGO8JVSuZo7N46hQ4tx8WIYdepsYtmyRgQGhlodSzlAR/hKqSucPHmB9u2jePjhxly+XJlnn93M4cPtCQzUqU48nRZ8pdSfpk7dTY0aR9m8OYzGjTeRkFCaCRPaWR1LOYkWfKUUyclnadEimlGjWmJMCSZMiOXnnzvRoEFlq6MpJ9KCr5SPe+21bdSte4a9ezsSFLSWw4er8OyzelM6b6Rf2irlow4cOEnPnvs5eLAjpUr9wkcf7SMiQk+19GY6wlfKx2RnG0aP3kSTJtkcPHgbnTpFkZpah4iIFlZHU0VMR/hK+ZAdO47Rp8+vpKS0p1y5/Xz66QkefDDM6ljKRXSEr5QPyM42DB68jjZtypCS0orevaM4ceIWHnxQJzvzJTrCV8rLRUX9Rv/+aZw82YkbbtjJ/Pk30KNHmNWxlAV0hK+Ul7p8OYt7713L7bffyMmTjRg4MJq0tJb06NHA6mjKIk4p+CLSU0TiRSRBRJ7PZXuYiJwWkZ32xyvO6FcplbvFixO48cb9fPddF6pV28/mzef48svOlCihYzxf5vAhHREpDkwF7sR2s/JtIrLYGLP/qqbrjDF3OdqfUipv585dpl+/jaxZ0wGRs4wcuYEPP+xAsWJidTTlBpzxz30IkGCMOWiMuQzMA/o54X2VUoXw+ef7qVYtkTVrwqhbN4Y9e7L56KNQLfbqT84o+LWBwzmeJ9nXXa29iOwSkWUi0jyvNxORCBGJEZGY1NRUJ8RTyrulpaUTEhLFY4814fLlirz44hYOHepA8+Y62Zm6kjMKfm7DB3PV81ignjGmFTAF+C6vNzPGzDDGBBtjgqtV019Ypa7lP//ZSa1ax9m2LYymTTdw8GA53njjNqtjKTfljIKfBNyU43kdIDlnA2PMGWPMOfvyUqCkiPg5oW+lfNLhw2do3jyayMggjBHee28HcXGdqVfvBqujKTfmjIK/DWgsIg1EpBQwAFics4GI1BARsS+H2Ps94YS+lfI5r766jQYNzrN/fyht20aRnFyNMWNaWx1LeQCHz9IxxmSKyChgBVAcmG2M2SciI+zbpwH3AyNFJBO4AAwwxlx92EcpdQ0//XSCXr1+IjExlNKlDzB9+gnCw8OsjqU8iLhz3Q0ODjYxMTFWx1DKUtnZhsjITXz44S0YU4kuXTbyww8dqFChlNXRlBsSke3GmODctunUCkq5sZiYFO666zDHjnWgfPl9fP75Sfr3D7M6lvJQetmdUm4oK8vwyCPruPXWchw7Fsjdd6/l5Mmm9O9/i9XRlAfTEb5SbubHHw9x//0nOXWqE5Ur72DBgqp07ao3JlGO0xG+Um7i8uUs+vZdS7du1Th16mYeeSSatLQgunatZ3U05SV0hK+UG1i48ACPPHKZ8+e74O+/hR9+qEtwcGerYykvoyN8pSx07txlwsKiuO++eqSn+/PkkxtJTg4hOLim1dGUF9IRvlIWmT17H48/XopLl8KoV28Dy5c3pWnTDlbHUl5MR/hKuVhqajpt264lPLwZGRkVePnlrSQmhtK06Y1WR1NeTgu+Ui40ceIOatVKJTa2CwEB6zl0qDyvvRZidSzlI7TgK+UChw6dpmnTdYwd2xoRwwcf7GTfvs7UqVPJ6mjKh2jBV6qIjRu3lZtvvkB8fAdCQv5HSkp1/vnPIKtjKR+kX9oqVUT27Uuld+8D/PZbB8qUiWf69JMMGnS71bGUD9MRvlJOlp1tGDlyAy1aFOe339pyxx3/Iy2tAYMGBVgdTfk4HeEr5USbNyfTt28yqamhVKiwh7lzy9K3r47qlXvQEb5STpCZmc3Ageto374iqanNuPfeKE6cCKBv30ZWR1PqT04p+CLSU0TiRSRBRJ7PZbuIyGT79t0i0sYZ/SrlDlauTMTPbw/z5nWiatV4oqJO8O23YZQqVdzqaEpdweGCLyLFgalALyAAGCgiVx+s7AU0tj8igI8d7Vcpq128mEnv3mvp0aMGp0/XY/DgaFJT29KlS12roymVK2eM8EOABGPMQWPMZWAe0O+qNv2AOcZmM1BZRHSyEOWx5s+P58YbD7BsWRdq1txBbOxFZs/uTLFiYnU0pfLkjIJfGzic43mSfV1h2yjl9k6fvkTHjmsZMKAhFy/eyNNPb+TIkXa0bl3D6mhK5csZBT+3Ic3VN8otSBtbQ5EIEYkRkZjU1FSHwynlLP/5z36qV09hw4YuNGy4ifj4Ekyc2AERHdUrz+CMgp8E3JTjeR0g+TraAGCMmWGMCTbGBFerVs0J8ZRyTEJCOrfcsoPIyACysw3jx28lIaETjRpVtTqaUoXijIK/DWgsIg1EpBQwAFh8VZvFwCD72TrtgNPGmBQn9K1UkcnMhMcfj+eWW7I4cKAZISE/kJzsx7hxOtmZ8kwOX3hljMkUkVHACqA4MNsYs09ERti3TwOWAr2BBCAdGOxov0oVpeXLz/DQQ6c4ebIJ5cpFM3NmWQYOvMvqWEo5xClX2hpjlmIr6jnXTcuxbIAnnNGXUkUpMREefjiJDRvqAGe45565zJ17H+XKlbU6mlIO0yttlQLOnIGnnjpPw4aX2bChKv7+01m3Lo2FCx/SYq+8hs6lo3xaVhbMnGl49tmLnDlTnmLF5vLMMyd5440RlCxZ0up4SjmVFnzlk4yB776D55+/zM8/lwJiaNHiM7766hmaNm1qdTylioQe0lE+xRhYuRJCQgz33QcHDhyidOmH+c9/drJz5yda7JVX0xG+8hnr18O4cRAdDaVLHwVe5I47Upg5cxr169e3Op5SRU5H+MrrbdgAvXpBp04QG3uOEiUiKVMmiE8/7cKqVcu02CufoQVfeSVjYPVquP126NgRNm/OoFat/3DunD/9+iXx00+7eOyxx3RaBOVTtOArr2IMfP89tGsHd94J8fGGbt2WcObMjWRlvcWCBXNYsGABNWroZGfK92jBV17h0iX47DNo1Qr69oXUVHjmmQQqVGjJ6tV3MWhQf/bv30///v2tjqqUZbTgK4+Wlgbjx0O9ejB4sG2EP2PGRXr3juS9927h8uWzrFixgk8//ZSqVXWyM+Xb9Cwd5ZHi4uCDD2DOHLh40fal7NNPQ2bmCoYPj+Dw4cOMGjWKN998kwoVKlgdVym3oAVfeYyMDFi0CD7+GNasgTJlYNAgiIwEf/+TPP3003z++ec0bdqUdevWERoaanVkpdyKFnzl9g4fhk8+gZkzISXFdvjmzTdh6FCoVg2++eYbbr/9CdLS0hg3bhwvvfQSZcqUsTq2Um5HC75ySxkZsHy5rcj/8IPt2HyvXrbC37MnFC8OKSkp9O8/im+//ZbWrVuzfPlygoKCrI6ulNvSgq/cyu7d8Pnn8MUXcPw4VK8Ozz4LERHQoIGtjTGGzz77nNGjR3PhwgXefvttxowZQ4kS+uus1LXo3xBlubQ0+PJL22mVO3ZAyZJw993w2GO20XzOSSsTExOJiIhg1apVdOzYkZkzZ9KkSROroivlURwq+CJSFZgP1AcSgQeNMb/n0i4ROAtkAZnGmGBH+lWe79w526Ga+fNhyRLbIZw2bWDyZBg4EPz8rmyflZXF1KlTefHFFxERpk6dyogRIyhWTM8sVqqgHB3hPw/8aIx5W0Setz9/Lo+2txtj0hzsT3mw9HRYuhS++spW7C9cgJo1YdQo22i+ZcvcXxcXF8fQoUPZuHEjPXv2ZPr06dStW9el2ZXyBo4W/H5AmH35cyCKvAu+8kEXL8KKFbaR/OLFcP687bj84MHwj39AaKjtC9jcZGRk8M477/Daa69RoUIF5syZw8MPP6zz3yh1nRwt+P7GmBQAY0yKiFTPo50BVoqIAaYbY2bk9YYiEgFEADqK81BpabbDNIsW2Yp9ejpUrQr/7//ZinyXLpDf96uxsbEMGTKEXbt28eCDDzJ58mT8/f1d8wGU8lL5FnwRWQ3kNtPUuEL0E2qMSbb/g7BKRH4yxkTn1tD+j8EMgODgYFOIPpSFEhJsBX7RItt0xNnZULs2PPoo9OsHd9xx5Zeveblw4QL//ve/ee+996hWrRoLFy7knnvuKfL8SvmCfAu+MaZbXttE5JiI1LSP7msCx/N4j2T7z+MishAIAXIt+MozXLhgu5HIihW28+Xj4mzrW7a03WSkXz/bl7CFOfoSHR3N0KFDOXDgAOHh4bz77rtUqVKlaD6AUj7I0UM6i4FHgbftPxdd3UBEygPFjDFn7cvdgdcc7Fe5mDG2or5ihe2xdq3t+Hzp0tC5M4wYYZul8nruJXLmzBleeOEFPvroI+rXr8+qVavo1i3PcYZS6jo5WvDfBr4SkXDgN+ABABGpBcw0xvQG/IGF9i/aSgBfGmOWO9ivcoHDhyEqCv73P1i1CpKSbOubNoXhw23nyHfuDOXKXX8fy5YtY/jw4SQlJREZGcn48eMpX768U/Irpa7kUME3xpwAuuayPhnobV8+CLRypB/lGkeO2Ip7VJTt8csvtvVVq9ruHPXKK9CjBzjju/QTJ04wevRo/vvf/xIQEMDGjRtp166d42+slMqTXmnro7KzbYdoNm6ETZtg3TrbF68AlSvbzqR58kkIC4MWLcBZ1zcZY/j6668ZNWoUv//+Oy+//DLjxo2jdOnSzulAKZUnLfg+4swZ2LLFVtw3boTNm+H0ads2Pz/o0AEef9w2km/RIu9z4x2RnJzM448/zqJFi2jbti2rV6+mZV5XWymlnE4Lvhe6dMk2Cdn27bbH1q2wZ4/ti1cRW0EfMMBW5Dt0gIYNC3c2TWEZY5g9ezZjxozh0qVLvPPOO4wePVonO1PKxfRvnIe7eNFWzP8o7tu3255nZtq2V60Kt94K/ftD+/Zw221QqZLr8h08eJBhw4axZs0aOnfuzMyZM2ncuLHrAiil/qQF30MYYztLZs+eKx/7919Z3IOD4ZlnoG1b26NevaIdveclKyuLKVOmMG7cOIoXL860adMYNmyYTnamlIW04LuhU6dsxXzv3r8K+969tvV/qFPHdmimTx/ri/vV9u3bR3h4OFu2bKFPnz5MmzaNOnXqWB1LKZ+nBd8iWVmQmAjx8X9/pKT81e6GG2yFfeBACAy0LQcGgjtegHr58mUmTJjA66+/TqVKlZg7dy4DBw7Uyc6UchNa8ItQdrateB88aDunPWdRT0iAy5f/alu1KjRpYjvPvWlTW2Fv0cI2kveEerlt2zbCw8PZs2cPAwYMYPLkyVSrVs3qWEqpHLTgO+jsWfj1V1tRP3jw78uXLv3VtmRJ2xkxTZrAXXfZfv7xuPqGH54iPT2df/3rX0yaNIkaNWqwaNEi+vbta3UspVQutOBfQ0YGJCfbphjI+fjtt7+W0666pUulSrai3ry57TZ9N9/816N+/fynBfYkUVFRDBs2jISEBCIiInjnnXe44YYbrI6llMqDF5WfgjPG9gVoSgocPWr7+ccjZ2FPSbEdlsnphhvgppts0wuEhNiKeM6iXqWKZxyCccTp06d57rnnmD59Og0bNmTNmjXcfvvtVsdSSuXD6wq+MRAb+/dCnvP50aNXHmr5Q9mytmPmdevCnXfaCvsfxf2P5YoVXf+Z3MmSJUsYPnw4KSkpjBkzhtdee41yjsyeppRyGa8r+AAdO9ouSPpD1aq2e6fWrAmdOv21XKPGlT8rVfL+0fn1Sk1NJTIyki+//JLAwEC+/fZbQkJCrI6llCoEryv4IvDdd7YJwGrWBH9/25zt6voYY5g3bx5PPfUUp0+f5tVXX+WFF16gVKlSVkdTShWS1xV8sJ3aqByXlJTEyJEj+eGHHwgJCWHWrFkEBgZaHUspdZ30Onf1N9nZ2cyYMYPmzZvz448/MnHiRDZu3KjFXikP51DBF5EHRGSfiGSLSPA12vUUkXgRSRCR5x3pUxWthIQEunbtyvDhw2nbti179uzh6aefpnhRzJeslHIpR0f4e4H7uMYNyUWkODAV6AUEAANFJMDBfpWTZWVlMXHiRFq2bElsbCyffPIJP/74Iw0bNrQ6mlLKSRy9xWEckN9cKSFAgv1Wh4jIPKAfsN+RvpXz7Nmzh/DwcLZt28bdd9/Nxx9/TO3ata2OpZRyMlccw68NHM7xPMm+LlciEiEiMSISk5qaWuThfNmlS5f417/+RZs2bUhMTGTevHksWrRIi71SXirfEb6IrAZq5LJpnDFmUQH6yG34b/JqbIyZAcwACA4OzrOdcsyWLVsIDw9n3759PPTQQ3zwwQf4eeqEPkqpAsm34BtjujnYRxJwU47ndYBkB99TXafz58/z8ssv88EHH1C7dm1++OEH+vTpY3UspZQLuOKQzjagsYg0EJFSwABgsQv6VVdZs2YNLVu25P3332fEiBHs27dPi71SPsTR0zLvFZEkoD2wRERW2NfXEpGlAMaYTGAUsAKIA74yxuxzLLYqjFOnTjFs2DC6du1KsWLFiIqK4qOPPqKSK29uq5SynBjjvofJg4ODTUxMjNUxPNqiRYsYOXIkx44dY+zYsbz66quULVvW6lhKqSIiItuNMbleF6VX2nqp48ePM2DAAO655x78/PzYsmULEyZM0GKvlA/Tgu9ljDF88cUXNGvWjIULF/L6668TExNDcHCeF0IrpXyEV06e5qsOHz7MiBEjWLp0Ke3atWPWrFkEBOhFzUopGx3he4Hs7Gw+/vhjmjdvTlRUFB988AHr16/XYq+UuoKO8D3czz//zLBhw4iOjqZbt27MmDGDBg0aWB1LKeWGdITvoTIzM3nnnXdo1aoVu3btYtasWaxcuVKLvVIqTzrC90C7du1iyJAhxMbGcs899zB16lRq1apldSyllJvTEb4HuXTpEi+//DLBwcEkJSXx9ddf8+2332qxV0oViI7wPcSmTZsIDw8nLi6OQYMGMWnSJG688UarYymlPIiO8N3cuXPniIyMJDQ0lPPnz7Ns2TI+//xzLfZKqULTEb4bW7VqFRERESQmJvLEE0/w1ltvUbFiRatjKaU8lI7w3dDvv//OkCFD6N69O6VKlSI6OpoPP/xQi71SyiFa8N3MwoULCQgIYM6cOTz//PPs2rWLTp06WR1LKeUF9JCOmzh69ChPPvkkCxYsICgoiCVLltCmTRurYymlvIiO8C1mjGHOnDkEBATw/fff8+abb7J161Yt9kopp9MRvoUOHTrE8OHDWbFiBR06dGDWrFk0bdrU6lhKKS/l6B2vHhCRfSKSLSJ5zr8rIokiskdEdoqIz9/RJDs7mw8//JDmzZuzfv16pkyZwrp167TYK6WKlKMj/L3AfcD0ArS93RiT5mB/Hi8+Pp7w8HA2bNhA9+7dmT59OvXr17c6llLKBzg0wjfGxBlj4p0VxptlZGTw1ltv0apVK/bv389nn33G8uXLtdgrpVzGVcfwDbBSRAww3RgzI6+GIhIBRADUrVvXRfGK1o4dOwgPD2fHjh3cf//9TJkyhRo1algdSynlY/Id4YvIahHZm8ujXyH6CTXGtAF6AU+ISOe8GhpjZhhjgo0xwdWqVStEF+7n4sWLvPjii9x6660kJyfzzTff8PXXX2uxV0pZIt8RvjGmm6OdGGOS7T+Pi8hCIASIdvR93dn69esZOnQo8fHxDB48mIkTJ1KlShWrYymlfFiRn4cvIuVFpOIfy0B3bF/2eqWzZ88yatQoOnXqxMWLF1mxYgWzZ8/WYq+Uspyjp2XeKyJJQHtgiYissK+vJSJL7c38gfUisgvYCiwxxix3pF93tWLFCgIDA/noo4946qmn2Lt3L927d7c6llJKAQ5+aWuMWQgszGV9MtDbvnwQaOVIP+7u5MmTjB49mjlz5tC0aVPWrVtHaGio1bGUUuoKOrWCgxYsWECzZs348ssvGTduHDt27NBir5RySzq1wnVKSUnhiSeeYOHChbRp04YVK1YQFBRkdSyllMqTjvALyRjDp59+SkBAAEuXLuXtt99my5YtWuyVUm5PR/iF8OuvvxIREcHq1avp1KkTM2fO5JZbbrE6llJKFYiO8AsgKyuLyZMnExgYyObNm5k6dSpRUVFa7JVSHkVH+PmIi4sjPDycTZs20atXL6ZNm+Y1Uz4opXyLjvDzkJGRwRtvvEFQUBDx8fH897//ZcmSJVrslVIeS0f4udi+fTtDhgxh9+7dPPjgg0yZMoXq1atbHUsppRyiI/wcLly4wHPPPUdISAipqaksXLiQ+fPna7FXSnkFHeHbRUdHM3ToUA4cOEB4eDjvvfcelStXtjqWUko5jc+P8M+cOcPjjz9Oly5dyMzMZPXq1cycOVOLvVLK6/h0wV+6dCmBgYFMmzaN0aNHs2fPHrp27Wp1LKWUKhI+eUgnLS2N0aNH88UXXxAQEMDGjRtp166d1bGUUqpI+dQI3xjD/PnzCQgIYN68ebzyyivExsZqsVdK+QSfGeEnJyczcuRIFi9eTHBwMKtXr6Zly5ZWx1JKKZfx+hG+MYaZM2cSEBDAypUreffdd9m0aZMWe6WUz3H0jlfvishPIrJbRBaKSOU82vUUkXgRSRCR5x3pszAOHjxIt27dGDZsGEFBQezZs4exY8dSooTP/MdGKaX+5OgIfxUQaIxpCfwMvHB1AxEpDkwFegEBwEARCXCw32vKysri/fffJzAwkG3btjFt2jTWrFlDo0aNirJbpZRya47e4nBljqebgftzaRYCJNhvdYiIzAP6Afsd6Tsvv//+O7169WLLli306dOHadOmUadOnaLoSimlPIozj+EPAZblsr42cDjH8yT7ulyJSISIxIhITGpqaqFDVK5cmYYNGzJ37ly+//57LfZKKWWX7whfRFYDNXLZNM4Ys8jeZhyQCczN7S1yWWfy6s8YMwOYARAcHJxnu2vkZe7c3GIopZRvy7fgG2O6XWu7iDwK3AV0NcbkVqCTgJtyPK8DJBcmpFJKKcc5epZOT+A5oK8xJj2PZtuAxiLSQERKAQOAxY70q5RSqvAcPYb/IVARWCUiO0VkGoCI1BKRpQDGmExgFLACiAO+Msbsc7BfpZRSheToWTq5nudojEkGeud4vhRY6khfSimlHOP1V9oqpZSy0YKvlFI+Qgu+Ukr5CC34SinlIyT3U+fdg4ikAoeu8+V+QJoT4ziL5io8d82muQpHcxXe9WSrZ4ypltsGty74jhCRGGNMsNU5rqa5Cs9ds2muwtFchefsbHpIRymlfIQWfKWU8hHeXPBnWB0gD5qr8Nw1m+YqHM1VeE7N5rXH8JVSSl3Jm0f4SimlctCCr5RSPsJrCr673lBdRB4QkX0iki0ieZ5eJSKJIrLHPutojBvlcvX+qioiq0TkgP1nlTzauWR/5ff5xWayfftuEWlTVFmuI1uYiJy276OdIvKKCzLNFpHjIrI3j+1W7q/8slmxv24Skf+JSJz97+M/c2njvH1mjPGKB9AdKGFfngBMyKVNceAX4GagFLALCCjiXM2AJkAUEHyNdomAnwv3V765LNpf7wDP25efz+3P0VX7qyCfH9ussMuw3dmtHbDFRX9+BckWBvzgqt8pe5+dgTbA3jy2W7K/CpjNiv1VE2hjX64I/FyUv2NeM8I3xqw0trn3wXZD9dxuZvvnDdWNMZeBP26oXpS54owx8UXZx/UoYC6X7y/7+39uX/4cuKeI+7uWgnz+fsAcY7MZqCwiNd0km8sZY6KBk9doYtX+Kkg2lzPGpBhjYu3LZ7HdM+Tqe347bZ95TcG/ilNuqO5iBlgpIttFJMLqMHZW7C9/Y0wK2P4yANXzaOeK/VWQz2/V71RB+20vIrtEZJmINHdBrvy4899BsHB/iUh9oDWw5apNTttnDt0AxdVcfUN1Z+YqgFBjTLKIVMd2B7Gf7CMSK3O5fH8V4m2cvr9yUZDPXyT7qAAK0m8stnlVzolIb+A7oHFRB8uHVfurICzbXyJSAfgGiDTGnLl6cy4vua595lEF37jpDdXzy1XA90i2/zwuIgux/ZfdoQLmhFwu318ickxEahpjUuz/bT2ex3s4fX/loiCfv0j2UQHk22/OwmGMWSoiH4mInzHGyonCrNpf+bJqf4lISWzFfq4x5ttcmjhtn3nNIR3x4Buqi0h5Ean4xzK2L6BzPZPAxazYX4uBR+3LjwJ/+5+IC/dXQT7/YmCQ/UyKdsDpPw5JFbF8s4lIDRER+3IItr/vJ1yQ7Vqs2l/5smJ/2fubBcQZYybl0cx5+8yV30gX5QNIwHaca6f9Mc2+vhawNEe73ti+Cf8F26GNos51L7Z/oS8Bx4AVV+fCdqbFLvtjn7vksmh/3Qj8CByw/6xq5f7K7fMDI4AR9mUBptq37+EaZ2JZkG2Uff/swnYiQwcXZPo/IAXIsP9+hbvR/sovmxX7qyO2wzO7c9Su3kW1z3RqBaWU8hFec0hHKaXUtWnBV0opH6EFXymlfIQWfKWU8hFa8JVSykdowVdKKR+hBV8ppXzE/wexZdfO+qoKeQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-2, 2, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.elu(x) \n",
    "plt.plot(x, y, label=\"elu\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e9fe9c5",
   "metadata": {},
   "source": [
    "## exponential\n",
    "\n",
    "```python\n",
    "tf.keras.activations.exponential(\n",
    "    x\n",
    ")\n",
    "```\n",
    "\n",
    "**math.**\n",
    "\n",
    "exp(x)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "id": "e09d13b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2836d0e80>"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-2, 2, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.exponential(x) \n",
    "plt.plot(x, y, label=\"exp\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f98a6955",
   "metadata": {},
   "source": [
    "## gelu\n",
    "\n",
    "```python\n",
    "tf.keras.activations.gelu(\n",
    "    x, approximate=False\n",
    ")\n",
    "``` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "97365bad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2835424c0>"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAyQUlEQVR4nO3deVxU1f/48dcblxazLDVzKyvNHFBQibSyMs2PZov17VN+6vcpFcF9S00/mmVZuS+5IoKaS5pp5kai4p4r7qCZS1aGGmruG8L5/XFHQ51BcIYZYN7Px+M+uDP3zJz3XOU9h3PPPUeMMSillMr7/LwdgFJKKc/QhK+UUj5CE75SSvkITfhKKeUjNOErpZSPyO/tADJSrFgxU65cOW+HoZRSucamTZuOGmOKOzqWoxN+uXLliI+P93YYSimVa4jIb86OaZeOUkr5CE34SinlIzThK6WUj9CEr5RSPsLlhC8iZUVkmYjsEpFEEengoIyIyHAR2Ssi20Wkmqv1KqWUyhp3jNK5DHQ2xmwWkcLAJhFZbIzZma5MA6CCfXsSGGP/ecvS0tI4ePAgZ8+edeVtfFKhQoUoU6YMfn76B55SvsTlhG+MOQQcsu+fFpFdQGkgfcJ/DZhkrKk514lIEREpaX/tLTl69CgiQsWKFTVxZUFaWhp//vknR48e5f777/d2OEopD3JrphSRckBVYP11h0oDf6R7fND+nKP3CBeReBGJT05OdlrXiRMnKFGihCb7LPLz86NEiRKcPHnS26EopRxYvXo1AwYMyJb3dlu2FJG7gFlAR2PMqesPO3iJw4n4jTGRxphgY0xw8eIObxYDIDU1lQIFCtxyvL6sQIECXL582dthKKXSOX36NG3btqVWrVqMHTs2W7qr3ZLwRaQAVrKfaoz53kGRg0DZdI/LAEluqNfVt/BJet6UylliY2MJCAhg9OjRtGnThcmTd1CoUCG31+OOUToCRAO7jDFDnBSbC7xnH61TAzjpSv+9UkrlBceOHeP999+nfv36FCpUiIkTt7B06UAaNbqTM2fcX587Ruk8DfwX2CEiW+3P9QAeBDDGRAAxwEvAXuAc0NQN9SqlVK5kjGHWrFm0adOG48eP07NnL+6552PCwvJz330wZQrcdZf763XHKJ3VOO6jT1/GAG1crUsppXK7Q4cO0aZNG2bPnk316tWZOnUpAwf6s2gRvPoqREdDsWLZU3eOni1TKaXyCmMMEydO5IMPPuDChQv079+fChU607hxPs6dg4gICA+H7LzEpmMac7iUlBRvh6CUctGvv/5KvXr1aNasGZUrV2bduu38+uuHvPFGPsqWhU2boEWL7E32oAnf4y5evEjHjh0pUaIEt99+OzVq1GD16tUALF++HBEhJiaGkJAQChYsSGxsLGfPnuW9997jrrvuokSJEvTt25eXX36ZJk2aePfDKKUylJqayldffUVAQADr169n9OjRDB26nMaNKxARAV26wLp1UKmSZ+LJM106HTt2ZOvWrR6tMygoiGHDhmXpNR9++CEzZsxg/PjxPPLIIwwZMoT69euzZ8+eq2W6devG4MGDKV++PIULF6Zz586sWLGC2bNnU6pUKfr06cOqVat4/fXX3fyJlFLusnPnTpo3b87atWtp0KABY8aM5bvvylKzJhQvDosXQ926no0pzyT83ODs2bOMGTOGqKgoGjZsCEBERARLly5l1KhR1LX/6/fu3Zt69eoBcObMGcaPH8+kSZN48cUXAYiOjqZMmTLe+RBKqQylpKTQv39/+vTpQ+HChZkyZQrPP/8OTZoIS5ZAo0YQFQVFi3o+tjyT8LPa0vaGffv2kZKSwtNPP331uXz58lGzZk127tx5NeEHBwff8JqQkJCrzxUqVIiAgADPBa6UypRNmzbRrFkztm/fzttvv83w4cNZs+Z+qlSBCxcgMhKaN8/+vnpntA/fg6zRqY7vdE3/XPo77DJ6jVIqZzh//jzdunUjJCSE5ORkfvjhB6Kjp9Or1/28/jqUKwebN0NYmPeSPWjC96jy5ctTsGDBqxdpwbqos3btWmw2m9PXFChQgA0bNlx97ty5cyQkJGR7vEqpm1u5ciWBgYEMGDCA0NBQdu7cSdmyr1G9OowbBx9+CGvXQsWK3o5UE75HFSpUiFatWtG9e3diYmLYtWsXrVq14siRI7Ru3drha+666y6aNWtGt27diIuLu3ohKC0tTVv9SnnRqVOnaN26Nc899xypqanExcURERHJ+PFFqFEDzpyBJUugf38oWNDb0VryTB9+btG/f38AmjZtyokTJ6hatSoLFy6kZMmS7N692+FrBg0axNmzZ3n11Ve566676NSpE0eOHOH222/3ZOhKKbuYmBhatGhBUlISH3zwAZ999hlnzxaiYUNYuBBee826Y9YbF2YzZIzJsVv16tWNMzt37nR6LK+7cOGCKVGihBk0aNAtv4cvnz+lblVycrJ59913DWBsNptZt26dMcaYRYuMKVHCmNtuM2bUKGPS0rwXIxBvnORUbeHnAlu2bGHXrl2EhIRw+vRp+vfvz+nTp3n77be9HZpSPsEYw4wZM2jXrh1///03n3zyCf/73//w87uNbt1gwADr5qnFi6FyZW9H65wm/FxiyJAh7N69m/z58xMUFMTKlSt1LL5SHpCUlESrVq2YO3cuwcHBxMXFUblyZfbvh//8BzZssObAGToU7rzT29FmTBN+LlC1alXi4+O9HYZSPsUYQ3R0NF26dOHSpUsMGjSIDh06kD9/fqZNs+a+8fODGTPg3//2drSZo6N0lFLqOvv27aNu3bqEhYVRtWpVtm/fTufOnblwIT/NmsE771hdN9u25Z5kD5rwlVLqqtTUVIYMGULlypWJj49n7NixxMXFUb58ebZsgerVYeJE+OgjWLECHnrI2xFnjbvWtB0vIn+JiMO7gUTkeRE5KSJb7dvH7qhXKaXcJSEhgaeeeorOnTtTp04dEhMTCQ8PR8SPr77i6tj6pUuhTx/Inws7xN3Vwp8I1L9JmVXGmCD79pmb6lVKKZdcunSJTz/9lGrVqrF//36++eYb5s6dS5kyZUhOhldegY4d4V//srpwnn/e2xHfOrd8RxljVopIOXe8l1JKecrGjRtp1qwZCQkJvPPOOwwbNozixYsDVkv+//0/OHYMhg+Htm29Ow+OO3iyD7+miGwTkR9FxN9ZIREJF5F4EYlPTk72YHhKKV9x7tw5unTpQo0aNfj777+ZN28eU6dOpXjx4qSkQI8e1lz199xjDbts1y73J3vwXMLfDDxkjAkERgA/OCtojIk0xgQbY4KvfNOqfxw4cAAR0WGaSt2iZcuWUblyZQYPHkxYWBiJiYm8/PLLAPz6Kzz7LPTtC6GhEB8PgYFeDtiNPJLwjTGnjDFn7PsxQAERyaZ12ZVS6kYnT56kRYsWvPDCC4gIy5YtIyIignvuuQewxtMHBcHOnTB9ujXTZbqZyvMEjyR8EXlA7FM7ikiIvd5jnqhbKaXmzZuHzWYjKiqKLl26sH37dp63X309e9aap/7tt8Fmg61brf28yF3DMqcBa4GKInJQREJFpKWItLQXeRNIEJFtwHCgsX2SH59zswXJL126RLdu3ShTpgyFChXiiSeeIDY21un7XVn4/OjRo1ef024fpSzJycm88847vPrqqxQtWpR169YxcOBA7rTPgbBtGwQHWzNb9ugBK1fCww97Oehs5K5ROv+5yfGRwEh31OVMx47WN7MnBQVBVldWvNmC5E2bNmXfvn188803lClThpiYGF555RU2btxIYF7qTFQqGxljmDZtGu3bt+fUqVN89tlndOvWjYL2iemNgVGjoEsXuO8+a9KzOnW8HLQH5MJbB3Kvmy1Ivm/fPqZNm8aBAwd48MEHAWjbti1Llixh7NixjB492muxK5VbHDx4kFatWjF//nyefPJJoqOj8ff/Z2DgsWPQrBnMnQsNG8KECeAr40PyTMLPBWuY33RB8s2bN2OMuWG5w4sXL/LCCy94NFalcpu0tDTGjRtH165dSU1NZejQobRr1458+fJdLbN8uTW2PjnZyhnt2+eN4ZaZlWcSfm5w5bKFs6UJryxbuHHjRgoUKHDNsTvuuMPha/z8/K55b4CUlBR3hKtUrrFnzx7CwsJYsWIFderUITIykkceeeTq8cuX4dNP4YsvoEIFmDcPqlb1YsBeopOnedDNFiSvWrUqxhgOHz5M+fLlr9lKly7t8D2v3Ktw6NChq89t9fTFDKW85PLlywwaNIgqVaqwdetWoqKiWLx48TXJ/rffrOkQPv8cmjSBTZt8M9mDtvA9Kv2C5MWKFaNkyZJ8/vnnV1v2jz32GO+++y5NmjRh8ODBVKtWjePHj7N8+XIeeeQR3njjjRves3z58pQtW5bevXvTr18/Dhw4wOeff+6FT6eUZ23fvp3Q0FDi4+N57bXXGD16NKVKlbqmzKxZ0Lw5pKbCN99YC5b4Mm3he9igQYOoVasWr776KrVr16ZKlSoEBwdfXZB8woQJNG3alA8//JDHH3+cl19+mZUrV/KQk3lYCxQowPTp09m/fz+BgYF88sknfPnll578SEp51MWLF/n444+pXr06v/32G99+++3VUW9XnD8PLVvCm29aXThbtmiyB3QRc29zx4LktyKvnD/lW9auXWtsNpsBzH//+19z9OjRG8okJBjj728MGPPhh8ZcvOiFQL0IXcQ859AFyZXKurNnz/LRRx/x1VdfXb0/pUGDBteUMQYiI617cu6+G2JjoV4978SbU2nC9wJdkFypzIuLiyMs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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-2, 2, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.gelu(x) \n",
    "plt.plot(x, y, label=\"gelu\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa2cbf8b",
   "metadata": {},
   "source": [
    "## hard_sigmoid\n",
    "```python\n",
    "tf.keras.activations.hard_sigmoid(\n",
    "    x\n",
    ")\n",
    "```\n",
    "\n",
    "```python\n",
    "if x < -2.5: return 0\n",
    "if x > 2.5: return 1\n",
    "if -2.5 <= x <= 2.5: return 0.2 * x + 0.5\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "id": "a339b5d9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x283c01eb0>"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsPUlEQVR4nO3deVhUZf/H8fetaaK4VCrupVnJiAiKqJVaRmlPZmmr1a/UAVxyqyw0KzVNpZRwQUWBLNNyz31D3BVxwQXBFc19K1cw2e7fHyiJAmIMnJnh+7ourscZhjOf6aGP38459zlKa40QQgjbVcToAEIIIfJGilwIIWycFLkQQtg4KXIhhLBxUuRCCGHjHjDiTcuXL68fe+wxI95aCCFs1vbt2y9orSvc+bwhRf7YY4+xbds2I95aCCFsllLqz6yel10rQghh46TIhRDCxkmRCyGEjZMiF0IIGydFLoQQNs6Qs1bu5cqVK5w7d47k5GSjowgbUqpUKapVq0aRIjKfiMLF6or8ypUrnD17lqpVq+Lg4IBSyuhIwgakpaVx8uRJLly4QMWKFY2OI0SBsrrR5dy5c1StWpWSJUtKiYtcK1KkCE5OTly+fNnoKEJk6a+//qJPnz758jtqdUWenJyMg4OD0TGEDSpWrBgpKSlGxxAiE601s2bNwmQyERQUxLp16yz+HlZX5IBM4uI/kd8bYW1Onz5N+/btefvtt6levTrbt2/n1Vdftfj7WGWRCyGELdNaExYWhrOzM8uWLeP7778nMjISV1fXfHk/qzvYKYQQtiw+Ph5fX19WrVpF8+bNCQkJ4YknnsjX95SJXAghLCA1NZXAwEDq1atHVFQUEyZMYPXq1fle4iATuRBC5FlsbCxms5nIyEj+97//MXHiRKpXr15g7y8TuYFkwZMQti0pKYkhQ4bg7u7OwYMH+fXXX1m0aFGBljhIkVvUjRs36NOnD05OTpQoUYImTZqwYcMGANasWYNSiiVLluDp6Unx4sVZvnw5CQkJfPjhhzg6OuLk5MTw4cNp06YNHTt2NPbDCCFytG3bNho1asQ333xD+/btiY2N5f333zfk7Cmb2LXSp08fdu7cWaDv6ebmRmBg4H39zBdffMHMmTMJCwujVq1aBAQE0Lp1aw4ePJjxGj8/P0aNGkXt2rUpXbo0n332GWvXrmXevHlUqVKFIUOGsH79etq1a2fhTySEsITExEQGDRrEqFGjqFSpEvPnz6dt27aGZrKJIrcFCQkJTJgwgZCQEF555RUAJk6cSEREBEFBQXh5eQEwaNAgXnrpJQCuXbtGWFgYv/zyCy+++CIAoaGhVKtWzZgPIYTI0dq1a/H29ubQoUP4+Pjwww8/ULZsWaNj2UaR3+9kbITDhw+TnJzMM888k/Fc0aJFadq0KbGxsRlF7uHhcdfPeHp6ZjxXqlQpXFxcCi64EOKerly5gp+fHxMnTqRWrVqsWrWKli1bGh0rQ573kSulSiilopRSu5RSe5VSgy0RzNZorYGsVxfe/lypUqVy9TNCCOuwePFi6taty6RJk/j000/Zs2ePVZU4WOZg5w2gpda6PuAGtFZKNbHAdm1K7dq1KV68eMbBTUg/r3Tz5s2YTKZsf6ZYsWJERUVlPJeYmEhMTEy+5xVC5OzChQt88MEHtGnThrJly7Jp0yZGjRpFyZIljY52lzzvWtHpY+W1mw+L3fzSed2urSlVqhTdunWjX79+lC9fnpo1a/Ljjz9y9uxZunfvzv79++/6GUdHRzp37oyfnx/ly5encuXKDB06lLS0NJnShTCI1poZM2bQs2dPLl++zKBBg+jfvz/Fixc3Olq2LLKPXClVFNgO1AaCtNZbsniNL+ALUKNGDUu8rdXx9/cHoFOnTly6dAl3d3eWLVtG5cqVsyxygJEjR5KQkEDbtm1xdHTkk08+4ezZs5QoUaIgowshgJMnT9KtWzcWLlyIp6cnoaGhtnHMSmttsS+gHLAacMnpdQ0bNtTZiY2NzfZ7hcE///yjnZyc9MiRI42OYpMK+++P+G/S0tL0pEmTdJkyZbSDg4MeNWqUTklJMTrWXYBtOotOtehZK1rrS0qpNUBrQHb05kJ0dDRxcXF4enpy9epV/P39uXr1Ku+8847R0YQoFA4fPoyPjw+rV6/m+eefZ/LkyTz++ONGx7ovljhrpYJSqtzNPzsAXsC+vG63MAkICMDd3Z2WLVty9uxZ1q1bJ+eSC5HPUlNTCQgIoF69emzfvp1JkyaxatUqmytxsMw+8srAzzf3kxcBZmqtF1lgu4WCu7s727ZtMzqGEIVKTEwMZrOZqKgoXn31VSZMmEDVqlWNjvWfWeKsld2AuwWyCCFEvkpKSmLYsGEMGzaMcuXK8fvvv/P222/b/FliNrGyUwgh8ioqKorOnTuzd+9e3n//fQIDAylfvrzRsSxCrn4ohLBriYmJfPbZZzRt2pTLly+zaNEifv31V7spcZCJXAhhx1avXo23tzfx8fF07doVf39/ypQpY3Qsi5OJXAhhdy5fvoyvry8tW7akSJEirFmzhgkTJthliYMUuRDCzixYsACTyURoaCiff/45u3btokWLFkbHyldS5Bby3HPP0aNHjwJ5L0vdQWjKlCk4OjrmPZAF5CbLyJEjeeyxxwomkLA5586d49133+W1117jkUceYcuWLXz//fdWeZErS5MiL8Teeecd4uPjjY4BWFcWYVu01kybNg2TycS8efMYMmQI27Zty3Ttf3snBzutWHJyMsWKFcu37Ts4OODg4JBv278f1pRF2I7jx4/TrVs3Fi9eTJMmTQgNDc32stH2TCZyC0pLS+PLL7+kfPnyVKxYkb59+5KWlgbAr7/+SqNGjShdujQVK1bkrbfe4uTJkxk/m93NmRMTE+nYsWPGzZmHDRt2X5nmzp2Lq6srDg4OPPzww7Ro0YKzZ88CWe/OGD58OE5OTjg6OvLhhx8yePDgTLszOnbsSJs2bfD396dSpUqULVuWfv36kZaWxqBBg6hYsSKVKlXKuBLkLceOHaNdu3aULl2a0qVL0759e06cOJHx/ayyfP/991SqVCkjy7Vr1xAC0v9dmzhxInXr1mX16tUEBgayYcOGQlniYCMTeZ8+UMD3XsbNDe73DnPTpk2jd+/ebNq0iZ07d/Lee+/RsGFDOnToQFJSEoMHD6ZOnTpcuHABPz8/OnTowLp16zJt486bM/ft25eVK1cyZ84cqlatyuDBg1m3bh3t27e/Z54zZ87w7rvvMnz4cN544w2uXbtGZGRktq///fffGTx4MOPGjaN58+bMmTOHESNG8NBDD2V63a1rwaxZs4bo6Gjef/99du7cibu7Oxs2bCAiIoJu3brh5eVFw4YN0Vrz+uuvU6JECSIiIlBK0aNHD15//XW2bt2a5aq6mTNn8tVXXzF27Fief/55Zs2ahb+/Pw8//HAu/98Q9urgwYP4+Piwdu1avLy8mDRpEjVr1jQ6lqFsoshthclk4ttvvwXgySefZPLkyaxatYoOHTrQuXPnjNfVqlWLCRMm4OzszIkTJzJdIOvOmzOHhoYSFhZGq1atAPjpp59yfUGtU6dOkZyczJtvvsmjjz4KkOO1lUePHk3Hjh3x9vYGoH///qxevZoDBw5kel3ZsmUJCgqiaNGi1KlTh1GjRnHq1CmWLVuW8dlHjBjB6tWradiwIeHh4ezatYvDhw9nTPfTp0+ndu3arFq1KuN+prcLDAzko48+okuXLgAMGDCA1atXc+jQoVx9dmF/UlJS+PHHH/nmm2948MEHCQ0NpVOnTja/vN4SbKLIbeDeywC4urpmelylShXOnTsHwI4dOxg8eDA7d+7k77//zrhf57FjxzIV8503Z05KSqJp06YZzzk6OlKvXr1c5alfvz5eXl64uLjw0ksv4eXlxZtvvkmFChWyfP2+ffvw8fHJ9Fzjxo3vKnKTyUTRokUzHjs5OVGuXLlMr3Fycsr47HFxcVSpUiXTLppatWpRpUqVTDemvl1cXFzGXyi3NG3aVIq8kNq1axdms5nt27fz+uuvExQURJUqVYyOZTVkH7kF3XlgUilFWloaCQkJtGrVipIlSzJ16lS2bt2aMb0mJSVl+pmsbs78XxUtWpQVK1awYsUKXF1dCQ0N5YknnmDXrl3Z/kxuppusPmd2nx3SP0d225VpSuTkxo0bfP3113h4eHD8+HFmzpzJ3LlzpcTvIEVeAPbt28eFCxcYNmwYzZs3p06dOhnTak5u3Zz59v3aCQkJ93VzZqUUTZs2ZeDAgWzdupUqVaowY8aMLF9bp06dTDeCBu56/F+YTCZOnjzJ0aNHM56Lj4/n1KlT2R6ccnZ2vmt/fk7794X92bx5M+7u7gwdOpT33nuP2NhY3nrrLfnLPws2sWvF1tWoUYMHH3yQcePG8fHHHxMXF8fXX399z59zdHTEbDbj5+dHhQoVqFKlCt9++y2pqam5et/IyEjCw8Np1aoVTk5OREdHc/z48WzLs3fv3nTq1IlGjRrRrFkz5s2bx5YtW+462Hm/vLy8qF+/Pu+//z5jxoxBa03Pnj1p0KABLVu2zDbLhx9+SKNGjXjuueeYPXs2W7ZskYOdhUBCQgIDBgxgzJgxVKtWjSVLlvDyyy8bHcuqSZEXgAoVKvDzzz/z5ZdfEhQUhKurKwEBAbRu3fqeP3vr5szt2rWjZMmS9OzZk4SEhFy9b9myZdm4cSNjx47l0qVLVK9ena+//poPPvggy9e/++67xMfH069fPxITE2nfvj1du3Zl/vz59/V576SU4o8//qBXr14899xzQHq5jx07Ntvp6tYCoQEDBpCYmEjbtm359NNPmTJlSp6yCOsWHh6Oj48PR48e5eOPP2b48OGULl3a6FhWT+V1P+x/4eHhobO7K05cXBzOzs4FnEhkp127dqSkpLBw4UKjo+SK/P7YposXL9K3b1/CwsJ48sknCQkJoVmzZkbHsjpKqe1a67uWrMpELjIkJiYyYcIEWrduzQMPPMCcOXOYP38+c+bMMTqasGPz5s2je/funD9/nn79+jFw4EBKlChhdCybIkVuw9avX5/jvsP7XQmplGLp0qUMGzaM69ev88QTTzB16lTatWuX16hC3OXs2bP07NmTWbNm4ebmxuLFi2nQoIHRsWxSnotcKVUd+AWoBKQBk7TWo/O6XXFvHh4e7LTgklcHBwfCw8Mttj0hsqK1ZurUqfTp04eEhAS+++47Pv/883y9rpC9s8REngJ8prXeoZQqDWxXSq3UWsdaYNsiBw4ODtSuXdvoGELk2rFjx+jSpQvLli3j6aefJjQ0lDp16hgdy+bl+TxyrfVprfWOm3++CsQBVfO4zbzGEoWQ/N5Yr7S0NIKCgqhbty7r169n7NixrF+/XkrcQiy6j1wp9RjgDmzJ4nu+gC+kn1ednWLFinH9+vVCcTF4YVnJyck88IAc9rE2+/fvx9vbmw0bNvDSSy8RHBwsNwixMIut7FRKOQJzgD5a6yt3fl9rPUlr7aG19sjuWh8AFStW5OTJkyQmJsqEJXItLS2Ns2fPUrZsWaOjiJuSk5MZMWIE9evXZ+/evUyZMoVly5ZJiecDi4wvSqlipJf4NK313Lxs69bNUW9duU+I3CpVqhTly5c3OoYAoqOjMZvNREdH88YbbzBu3DgqVapkdCy7ZYmzVhQQCsRprQPyHim9zO31btdC2LN//vmHIUOG4O/vT/ny5Zk9ezZvvPGG0bHsniUm8meA/wP2KKV23nzuS631EgtsWwhhIzZu3IjZbGb//v107NiRUaNGybVxCkiei1xrvQGQy5EJUUhdvXo14zpCNWrUYPny5Rk3RxEFQy5jK4T4z5YvX46LiwtBQUH07NmTmJgYKXEDSJELIe7b33//TceOHWndujUlS5Zk/fr1jB49+q4baIuCIUUuhLgvc+bMwWQy8euvvzJgwACio6N55plnjI5VqMnqCSFErpw+fZoePXowd+5c3N3dWbZsGW5ubkbHEshELoS4B601U6ZMwWQysXjxYkaMGEFUVJSUuBWRiVwIka2jR4/i6+vLypUradasGSEhITz55JNGxxJ3kIlcCHGX1NRUxowZg4uLC5s3byYoKIg1a9ZIiVspmciFEJnExcXh7e3Npk2baN26NcHBwTle6E4YTyZyIQSQfpGr7777Djc3N/bt28cvv/zCkiVLpMRtgEzkQgh27NhB586d2bVrF2+//TZjxozBycnJ6Fgil2QiF6IQu379Ov369cPT05Nz584xb948ZsyYISVuY2QiF6KQWrduHd7e3hw8eBCz2czIkSMpV66c0bHEfyATuRCFzJUrV/j4449p0aIFKSkphIeHExISIiVuw6TIhShEli5diouLCxMmTKBPnz7s2bOHF154wehYIo9k14oQhcBff/3FJ598wtSpUzGZTGzatIkmTZoYHUtYiEzkQtgxrTUzZ87E2dmZ3377ja+//podO3ZIidsZmciFsFOnTp2ie/fuzJ8/Hw8PD8LDw3F1dTU6lsgHMpELYWe01oSGhmIymVi+fDk//PADmzdvlhK3YzKRC2FH4uPj8fHxISIighYtWhASEkLt2rWNjiXymUUmcqVUmFLqnFIqxhLbE0Lcn9TUVAIDA6lXrx5bt25l4sSJRERESIkXEpbatTIFaG2hbQkh7sPevXt55pln+OSTT3j++eeJjY2lS5cuFCkie04LC4vsWtFar1NKPWaJbQkhcicpKYkRI0YwdOhQypQpw7Rp0+jQoQNKKaOjFYjUVDh1Co4ehevXjU6Tew0aQPnylt1mge0jV0r5Ar6AXE1NiDzaunUrZrOZPXv20KFDB0aPHk2FChWMjmVRWsPff8ORI+lf8fH//vnIkfQCT042OuX9W7oUWlt4/0WBFbnWehIwCcDDw0MX1PsKYU8SExMZOHAgAQEBVK5cmQULFvDqq68aHes/S0xML+Ssijo+Hq5ezfz6Rx6BWrXA3R3at4eaNdO/HB0Nif+fODtbfpty1ooQNmLNmjX4+Phw6NAhfH19+f777ylbtqzRsXKUkgInTmRf1GfPZn69g0N6UdesCc2bp//vrcc1a0Lp0sZ8DmsnRS6Elbt8+TJ+fn4EBwfz+OOPExERwfPPP290LCB998f589kX9fHj6WV+S9GiUKNGeim3aXN3UVesCIVkF79FWaTIlVK/Ac8B5ZVSJ4CBWutQS2xbiMJs0aJFdO3aldOnT/PZZ5/x7bffUrJkyQLNcO1a9kV99CgkJGR+vZNTeik3aQIdOmQu6urV4QEZHy3OUmetdLDEdoQQ6c6fP0/v3r357bffcHFxYe7cuXh6eubLeyUnw7FjWRf1kSNw4ULm15cunV7KtWvDiy9mLurHHoNSpfIlpsiB/N0ohBXRWvP777/Tq1cvLl++zODBg+nXrx/FixfPwzbhzJnsi/rECUhL+/f1xYrBo4+mF3P79pmLumbN9AOOsvvDukiRC2ElTpw4Qbdu3Vi0aBGenp6Ehobi4uKSq5+9fDn7oj56FP75J/Prq1T594DinUVdtWr6vmxhO6TIhTBYWloaISEhfP755yQnJxMQEECvXr0oelub3rjx72l6WZ1XffFi5m2WK5deyibTvwcVb309+mj62SHCfkiRC2GgQ4cO4ePjw5o1a2na9C169gwgKakqQ4ZkLupTp9J3kdzy4IPp+6Nr1oTGje+eqh96yLCPJAwgRS5EAbhzleLhw6nMnx9DVNQ5YDIPPFCTzZuLsnlz+uuVgmrV0kvZy+vuoq5cGeRSKuIWKXIhLOT2VYpZna535crtry4KVKVcuZI8+2wV6tYtmqmoa9RIn7qFyA0pciFy6fZVilkV9ZkzmV/v4PBvMTdvDtWrp7Bt2yzmzBlJuXIXCQoazttvv11oLnIl8o8UuRA33b5KMauiPnbs7lWK1aunF/Urr2Te9VGrVuZVilu2bMFsNrN3714++OADfvzxR8pb+hJ4otCSIheFyq1VilkV9ZEjd69SrFjx3wOK776buairVUs/5zonCQkJfP311wQGBlK1alUWLVrEK6+8kn8fUBRKUuTCrtxapZjdkvI7Vyk6OqYX8+OPpx9UvL2o87pKMSIiAh8fH+Lj4+nWrRsjRoygTJkyefp8QmRFilzYlFurFLMr6jtXKT7wQPp507VqZb7s6a2zQPJjleKlS5f4/PPPM+6XuWbNGlq0aGHZNxHiNlLkwupcvpzzRZruXKVYuXJ6Md+67OntRV3QqxTnz59Pt27dOHv2LF988QWDBg3CQVbfiHwmRS4K3I0b8Oef2S8pv3OVYtmy6cVsMv17UPFWUVvLKsVz587Rq1cvZsyYgaurKwsWLMDDw8PoWKKQkCIXFpeWlr4SMbuivnOVYvHi/07SjRvffY1qa16lqLVm2rRp9O7dm2vXrjFkyBD8/Pwodq+joEJYkBS5uG9ap0/N2RX1n39CUtK/r79zleKdRW2rqxSPHz9O165dWbJkCU2aNCE0NBSTyWR0LFEISZGLLN25SvHOfdaZVymmHzSsWRPc3KBdu8xFbW+rFNPS0ggODsbPz4/U1FQCAwPp0aNHpotcCVGQpMgLqdTU9DM8spuqc1ql2KzZ3df+KCxn1R04cABvb2/Wr1+Pl5cXkyZNombNmkbHEoWcFLmd0jr9nOnsijqnVYr/+9/dRe3kVLhvJpCSkkJAQAADBw6kRIkShIWF0bFjR1leL6yCFLkNu32VYla7P7JbpejpmXmV4q17Kcrxuazt2rWLzp07s2PHDtq1a0dQUBCVK1c2OpYQGaTIrdjtqxSzKurz5zO//tYqxVq1Mq9SvHUvRUdHQz6Gzbpx4wZDhw5lxIgRPPzww8yaNYs33nhDpnBhdSxS5Eqp1sBo0q/NGaK1HmGJ7dq721cpZlXUx49nvUqxZs30A4p3XqRJ7qVoOZs3b8ZsNhMXF8eHH35IQEAAjzzyiNGxhMhSnotcKVUUCAJeBE4AW5VSC7TWsXndtj24tUoxq6I+ehSuX8/8+sqV/z2geGdRy70U89+1a9f46quvGDNmDNWrV2fp0qW0bt3a6FhC5MgSE7kncEhrHQ+glPodeA2weJF/8glMnmzpreaftLS7i7ps2fRidnZOP6h4e1FbyyrFwmrlypX4+vpy9OhRevTowbBhwyhdurTRsYS4J0sUeVXg+G2PTwCN73yRUsoX8AWoUaPGf3qjZs1sbyJ1csq8AMaaVykWVhcvXuSzzz7jp59+4qmnnmL9+vU8++yzRscSItcsUeRZ7ZXVdz2h9SRgEoCHh8dd38+N9u3Tv4SwlHnz5tG9e3fOnz9P//79+eabbyhRooTRsYS4L5Yo8hNA9dseVwNOWWC7QuSbM2fO0LNnT2bPno2bmxuLFy+mQYMGRscS4j+xxBUutgJPKKVqKqWKA+8CCyywXSEsTmvNzz//jMlkYuHChQwbNoyoqCgpcWHT8jyRa61TlFI9gOWkn34YprXem+dkQljYn3/+SZcuXVi+fDlPP/00oaGh1KlTx+hYQuSZRc4j11ovAZZYYltCWFpaWhrjx4+nX79+AIwdO5bu3btTxBYvuShEFmRlp7Br+/fvx2w2s3HjRlq1akVwcDCPPvqo0bGEsCgZSYRdSk5OZvjw4dSvX5/Y2FimTJnC0qVLpcSFXZKJXNid6OhozGYz0dHRvPnmm4wdO5ZKlSoZHUuIfCMTubAb//zzD19++SWNGjXi1KlTzJkzh1mzZkmJC7snE7mwCxs2bMBsNnPgwAE6derEqFGjeEiW0YpCQiZyYdOuXr1Kjx49aNasGUlJSSxfvpywsDApcVGoSJELm7V8+XJcXFwYP348vXr1Ys+ePbz00ktGxxKiwEmRC5vz999/89FHH9G6dWtKlizJhg0bGD16NI5y5wxRSEmRC5uhtWb27Nk4Ozszffp0BgwYQHR0NE8//bTR0YQwlBzsFDbh9OnTfPzxx8ybN48GDRqwfPly3NzcjI4lhFWQiVxYNa01P/30EyaTiaVLl+Lv78+WLVukxIW4jUzkwmodOXIEX19fwsPDadasGSEhITz55JNGxxLC6shELqxOamoqY8aMwcXFhcjISMaPH8+aNWukxIXIhkzkwqrExcVhNpvZvHkzL7/8MhMnTvzPtwYUorCQiVxYheTkZIYOHYqbmxv79+9n6tSpLF68WEpciFyQiVwYbvv27XTu3Jndu3fz9ttvM3bsWCpWrGh0LCFshkzkwjDXr1/Hz88PT09Pzp8/z7x585gxY4aUuBD3SSZyYYh169bh7e3NwYMH8fb25ocffqBcuXJGxxLCJslELgrUlStX6N69Oy1atCAlJYXw8HAmT54sJS5EHuSpyJVSbyml9iql0pRSHpYKJezTkiVLqFu3LhMnTuSTTz5hz549vPDCC0bHEsLm5XUijwHaA+sskEXYqQsXLvDBBx/wyiuvUKZMGTZt2kRAQAClSpUyOpoQdiFPRa61jtNa77dUGGFftNbMmDEDk8nEjBkz+Oabb9ixYwdNmjQxOpoQdqXADnYqpXwBX0DODS4ETp06Rbdu3ViwYAEeHh6Eh4fj6upqdCwh7NI9J3KlVLhSKiaLr9fu54201pO01h5aa48KFSr898TCqmmtCQkJwWQysWLFCkaOHMnmzZulxIXIR/ecyLXWXgURRNi++Ph4fHx8iIiIoEWLFoSEhFC7dm2jYwlh9+T0Q5Fnqamp/Pjjj7i4uLB161aCg4OJiIiQEheigOT19MN2SqkTQFNgsVJquWViCVsRExPD008/zaeffkrLli2JjY3F19eXIkVkRhCioOT1rJV5WutqWusHtdZOWutWlgomrFtSUhKDBw+mQYMGxMfHM336dBYuXEi1atWMjiZEoSNL9MV927p1K507dyYmJob33nuPwMBA5AC2EMaR//4VuZaYmEjfvn1p0qQJFy9eZMGCBUybNk1KXAiDyUQucmXNmjV4e3tz+PBhunTpgr+/P2XLljU6lhACmcjFPVy+fJkuXbrw/PPPAxAREcHEiROlxIWwIlLkIlsLFy7EZDIREhJC37592b17d0ahCyGshxS5uMv58+d57733aNu2LY888giRkZH88MMPlCxZ0uhoQogsSJGLDFprpk+fjrOzM7Nnz2bw4MFs27aNRo0aGR1NCJEDOdgpADhx4gTdunVj0aJFNG7cmNDQUOrWrWt0LCFELshEXsilpaURHByMyWRi1apVBAQEsHHjRilxIWyITOSF2MGDB/Hx8WHt2rW0bNmSyZMnU6tWLaNjCSHuk0zkhVBKSgojR47E1dWV6OhoJk+eTHh4uJS4EDZKJvJCZvfu3ZjNZrZt20bbtm0ZP348VatWNTqWECIPZCIvJG7cuMHAgQNp2LAhf/75JzNmzOCPP/6QEhfCDshEXghERkZiNpuJjY3lgw8+IDAwkEceecToWEIIC5GJ3I4lJCTw6aef8vTTT3PlyhUWL17M1KlTpcSFsDMykdupVatW4ePjw5EjR+jWrRsjRoygTJkyRscSQuQDmcjtzKVLl/D29sbLy4sHHniAtWvXMn78eClxIeyYFLkdmT9/PiaTiSlTpuDn58euXbto3ry50bGEEPlMdq3YgbNnz9KrVy9mzpxJ/fr1WbhwIQ0bNjQ6lhCigOT15ss/KKX2KaV2K6XmKaXKWSiXyAWtNVOnTsVkMvHHH38wdOhQtm7dKiUuRCGT110rKwEXrbUrcADon/dIIjeOHTvGK6+8wocffshTTz3Fzp07GTBgAMWKFTM6mhCigOWpyLXWK7TWKTcfRgJyC/V8lpaWxvjx46lbty5r165l9OjRrF+/HmdnZ6OjCSEMYsl95J2BGdl9UynlC/gC1KhRw4JvW3gcOHAAb29v1q9fj5eXF5MmTaJmzZpGxxJCGOyeE7lSKlwpFZPF12u3vWYAkAJMy247WutJWmsPrbWH3HX9/qSkpODv74+rqyt79uwhLCyMFStWSIkLIYBcTORaa6+cvq+U+ghoA7ygtdaWCibS7dq1i86dO7Njxw7atWtHUFAQlStXNjqWEMKK5PWsldaAH9BWa51omUgC4J9//uGrr77Cw8ODkydPMnv2bObOnSslLoS4S173kY8DHgRWKqUAIrXWXfOcqpDbtGkTZrOZffv28dFHHxEQEMDDDz9sdCwhhJXKU5FrrWtbKoiAa9eu8eWXXzJu3DiqV6/OsmXLaNWqldGxhBBWTpboW4kVK1bg4uLCuHHj+Pjjj4mJiZESF0LkihS5wS5evEinTp1o1aoVJUqUYN26dYwdO5bSpUsbHU0IYSOkyA00d+5cTCYTU6dOpX///uzcuZNnn33W6FhCCBsjF80ywJkzZ+jRowdz5szBzc2NJUuW4O7ubnQsIYSNkom8AGmtmTJlCiaTiUWLFjFs2DCioqKkxIUQeSITeQE5evQoXbp0YcWKFTzzzDOEhIRQp04do2MJIeyATOT5LC0tjbFjx+Li4sKmTZsYN24c69atkxIXQliMTOT5aN++fXh7e7Nx40ZatWpFcHAwjz76qNGxhBB2RibyfJCcnMywYcOoX78+sbGx/PzzzyxdulRKXAiRL2Qit7AdO3ZgNpvZuXMnb775JuPGjcPJycnoWEIIOyYTuYVcv36d/v374+npyZkzZ5gzZw6zZs2SEhdC5DuZyC1gw4YNmM1mDhw4QKdOnRg1ahQPPfSQ0bGEEIWETOR5cPXqVXr06EGzZs1ISkpixYoVhIWFSYkLIQqUFPl/tGzZMlxcXBg/fjy9e/dmz549vPjii0bHEkIUQlLk9+mvv/7io48+4uWXX6ZUqVJs3LiRwMBAHB0djY4mhCikpMhzSWvNrFmzMJlMTJ8+na+++oro6GiaNm1qdDQhRCEnBztz4fTp03Tv3p0//viDhg0bsmLFCurXr290LCGEAGQiz5HWmrCwMJydnVm2bBn+/v5ERkZKiQshrIpM5Nk4cuQIvr6+hIeH07x5cyZPnsyTTz5pdCwhhLiLTOR3SE1NZfTo0bi4uLBlyxYmTJjA6tWrpcSFEFYrTxO5UmoI8BqQBpwDOmqtT1kimBFiY2Mxm81ERkby8ssvExwcTPXq1Y2OJYQQOcrrRP6D1tpVa+0GLAK+yXukgpeUlMSQIUNwd3fn4MGD/PrrryxevFhKXAhhE/I0kWutr9z2sBSg8xan4G3btg2z2czu3bt55513GDNmDBUrVjQ6lhBC5Fqe95Erpb5TSh0H3ieHiVwp5auU2qaU2nb+/Pm8vm2eXb9+nS+++ILGjRtz4cIF/vjjD37//XcpcSGEzVFa5zxEK6XCgUpZfGuA1nr+ba/rD5TQWg+815t6eHjobdu23W9Wi1m7di3e3t4cOnQIHx8fvv/+e8qVK2dYHiGEyA2l1Hattcedz99z14rW2iuX7zEdWAzcs8iNcuXKFfz8/Jg4cSK1atVi1apVtGzZ0uhYQgiRJ3nataKUeuK2h22BfXmLk38WL15M3bp1mTRpEp9++im7d++WEhdC2IW8LggaoZR6ivTTD/8EuuY9kmVduHCBPn36MG3aNEwmE7Nnz6Zx48ZGxxJCCIvJ61krb1gqiKVprZkxYwY9e/bk0qVLDBw4kP79+/Pggw8aHU0IISzKLpfonzx5ku7du7NgwQIaNWpEaGgo9erVMzqWEELkC7taoq+1ZvLkyZhMJlauXMnIkSPZvHmzlLgQwq7ZzUR++PBhfHx8WL16Nc899xyTJ0+mdu3aRscSQoh8Z/MTeWpqKgEBAdSrV4/t27cTHBzMqlWrpMSFEIWGTU/kMTExmM1moqKiaNOmDRMmTKBatWpGxxJCiAJlkxN5UlISgwcPpkGDBsTHxzN9+nQWLFggJS6EKJRsbiKPiorCbDYTExPDe++9R2BgIBUqVDA6lhBCGMamJvKhQ4fStGlTLl68yMKFC5k2bZqUuBCi0LOpIn/88cfx8fFh7969tGnTxug4QghhFe559cP8YPTVD4UQwhZld/VDm5rIhRBC3E2KXAghbJwUuRBC2DgpciGEsHFS5EIIYeOkyIUQwsZJkQshhI2TIhdCCBtnyIIgpdR50u/xaU3KAxeMDnEfbCmvLWUF28prS1lB8ubVo1rru65LYkiRWyOl1LasVkxZK1vKa0tZwbby2lJWkLz5RXatCCGEjZMiF0IIGydF/q9JRge4T7aU15aygm3ltaWsIHnzhewjF0IIGycTuRBC2DgpciGEsHFS5LdRSg1RSu1WSu1USq1QSlUxOlN2lFI/KKX23cw7TylVzuhMOVFKvaWU2quUSlNKWeXpXEqp1kqp/UqpQ0qpfkbnyYlSKkwpdU4pFWN0ltxQSlVXSq1WSsXd/D3obXSm7CilSiilopRSu25mHWx0pnuRfeS3UUqV0VpfufnnXoBJa93V4FhZUkq9BERorVOUUv4AWms/g2NlSynlDKQBwUBfrbVV3SJKKVUUOAC8CJwAtgIdtNaxhgbLhlKqOXAN+EVr7WJ0nntRSlUGKmutdyilSgPbgdet8Z+vUkoBpbTW15RSxYANQG+tdaTB0bIlE/ltbpX4TaUAq/1bTmu9QmudcvNhJFDNyDz3orWO01rvNzpHDjyBQ1rreK11EvA78JrBmbKltV4H/G10jtzSWp/WWu+4+eerQBxQ1dhUWdPprt18WOzml9V2AUiR30Up9Z1S6jjwPvCN0XlyqTOw1OgQNq4qcPy2xyew0qKxdUqpxwB3YIvBUbKllCqqlNoJnANWaq2tNisUwiJXSoUrpWKy+HoNQGs9QGtdHZgG9LDmrDdfMwBIIT2voXKT14qpLJ6z6inMFimlHIE5QJ87/gvYqmitU7XWbqT/l66nUsqqd189YHSAgqa19srlS6cDi4GB+RgnR/fKqpT6CGgDvKCt4GDHffyztUYngOq3Pa4GnDIoi126ub95DjBNaz3X6Dy5obW+pJRaA7QGrPbAcqGbyHOilHritodtgX1GZbkXpVRrwA9oq7VONDqPHdgKPKGUqqmUKg68CywwOJPduHkAMRSI01oHGJ0nJ0qpCrfOAlNKOQBeWHEXgJy1kolSag7wFOlnV/wJdNVanzQ2VdaUUoeAB4G/bj4Vaa1n2AAopdoBY4EKwCVgp9a6laGh7qCU+h8QCBQFwrTW3xmbKHtKqd+A50i/zOpZYKDWOtTQUDlQSj0LrAf2kP7vF8CXWuslxqXKmlLKFfiZ9N+DIsBMrfW3xqbKmRS5EELYONm1IoQQNk6KXAghbJwUuRBC2DgpciGEsHFS5EIIYeOkyIUQwsZJkQshhI37f8aVW9EiSLxMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-3.5, 3.5, 0.02)\n",
    "x = tf.convert_to_tensor(x, dtype=tf.float32)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.hard_sigmoid(x) \n",
    "plt.plot(x, y, label=\"hard_sigmoid\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c788921",
   "metadata": {},
   "source": [
    "## linear\n",
    "```python\n",
    "tf.keras.activations.linear(\n",
    "    x\n",
    ")\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "e286508d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2837bef10>"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-10, 10, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.linear(x) \n",
    "plt.plot(x, y, label=\"linear\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8de6024",
   "metadata": {},
   "source": [
    "## relu\n",
    "```python\n",
    "tf.keras.activations.relu(\n",
    "    x, alpha=0.0, max_value=None, threshold=0.0\n",
    ")\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "3e290c34",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2833d58e0>"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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WZaWH5pZG6Av0MI5d9ybSJJZe/fupXfv3kyaNInatWszbdo06tWr53csEckhWZ0jfxu4BvjazNaY2QgPMsllcs4xfvx4QkND+eKLL3jppZdYsWKFirhIHpOljtw5V8WrIJI5P/30E4888gizZs2iUaNGjB07lurVq/sdS0R8oEv0g0xGRgbDhw+nRo0azJ8/n7feeouFCxeqiIvkYbpEP4hs2rSJbt26sXDhQlq1asWoUaOoVKmS37FExGfqyINAeno6gwYNolatWnz//feMGzeOOXPmqIiLCKCOPOB99913PPTQQ6xatYqOHTvyzjvvULZsWb9jiUgAUUceoE6ePMlzzz1HREQEO3fu5LPPPuPzzz9XEReR31BHHoAWL15MdHQ0GzZs4MEHH2To0KFcf/31fscSkQCljjyAHD16lN69e9O0aVOOHz/OV199xfvvv68iLiK/S4U8QMyZM4ewsDDefvttevXqRUJCAq1bt/Y7logEARVynx08eJCuXbvSunVrChUqxIIFCxg2bBjXXHON39FEJEiokPvo888/JzQ0lPHjx9OvXz/WrFlD06ZN/Y4lIkFGJzt9sGfPHh599FEmT55MeHg4M2fOpE6dOn7HEpEgpY48BznneP/99wkNDWX69Om88sorLF++XEVcRLJEHXkO+fHHH+nRowdz5syhSZMmjBkzhmrVqvkdS0RyAXXk2SwjI4Nhw4YRFhbG4sWLefvtt1mwYIGKuIh4Rh15NtqwYQPdunUjLi6O1q1bM3LkSCpUqOB3LBHJZdSRZ4O0tDReeeUVateuzfr16/nggw+YNWuWiriIZIusbvU2ELgLyAD2AV2cc7u8CBasVq1aRXR0NGvWrKFTp068/fbblClTxu9YIpKLZbUjf905V8s5Fw5MB57PeqTgdOLECfr160dkZCR79uxh8uTJfPrppyriIpLtsrrVW8o5D4sCLmtxgtOiRYuIjo5m06ZNdO3alSFDhnDdddf5HUtE8ogsz5Gb2ctm9jNwH7/TkZtZdzOLN7P4pKSkrB42IBw5coRHH32UZs2akZqaypw5cxg3bpyKuIjkKHPu95toM5sL3HiBl/o757485339gELOuQGXOmhERISLj4/PbNaA8tVXX9GjRw9+/vlnevfuzUsvvUSxYsX8jiUiuZiZrXTORZz//CWnVpxzrS7zGBOBGcAlC3kw279/P3369OHDDz+kevXqxMXF0ahRI79jiUgelqWpFTO75ZyHHYANWYsTuJxzfPrpp4SGhjJx4kSee+45Vq9erSIuIr7L6gVB/2tmVTmz/HA78EjWIwWe3bt3ExMTwxdffEG9evWYM2cOtWvX9juWiAiQ9VUrf/UqSCByzvHee+/Rp08fTp06xaBBg+jTpw/58+uCWBEJHKpIF7Ft2za6d+/O3Llzad68OaNHj+bWW2/1O5aIyG/oEv3znD59mrfeeouwsDCWLVvGu+++y7fffqsiLiIBSx35OdavX090dDRLly7lzjvvZOTIkdx8881+xxIR+V3qyIHU1FQGDhxInTp12Lx5Mx999BEzZsxQEReRoJDnO/L4+Hiio6NZu3YtnTt35j//+Q+lS5f2O5aIyGXLsx35iRMnePrpp2nQoAHJycl88cUXfPzxxyriIhJ08mRHPn/+fLp168YPP/zAww8/zGuvvUaJEiX8jiUickXyVEeekpJCz549iYqKIiMjg2+++YZRo0apiItIUMszhXzGjBnUqFGDUaNG0adPH9auXUvLli39jiUikmW5vpAnJydz//330759e4oXL87ixYsZMmQIRYsW9TuaiIgncm0hd87x8ccfU716dT755BMGDBjAqlWraNCggd/RREQ8lStPdu7cuZOYmBimTp1K/fr1GTt2LDVr1vQ7lohItshVHblzjtGjRxMaGsrXX3/N4MGDWbJkiYq4iORquaYj37JlCw8//DDffvstUVFRjB49mipVqvgdS0Qk2wV9R3769GmGDh1KzZo1WblyJSNHjuSbb75REReRPCOoO/KEhASio6NZvnw57du359133yUkJMTvWCIiOcqTjtzMnjQzZ2YlvRjvUlJTU3nxxRepW7cuW7duZeLEiUydOlVFXETypCx35GZ2M3AH8FPW41za8uXLiY6OJiEhgXvvvZc333yTUqVK5cShRUQCkhcd+RvA04DzYKzf9dJLL9GoUSMOHjzItGnTmDBhgoq4iOR5WSrkZtYB2Omc++4y3tvdzOLNLD4pKemKjveHP/yBhx9+mHXr1tG+ffsrGkNEJLcx536/kTazucCNF3ipP/As8Efn3GEz+xGIcM4lX+qgERERLj4+/griiojkXWa20jkXcf7zl5wjd861usiANYFKwHdmBhACrDKzSOfcnizmFRGRy3TFJzudc98Dv+zCkJmOXEREvBP0FwSJiOR1nl0Q5Jyr6NVYIiJy+dSRi4gEORVyEZEgp0IuIhLkVMhFRILcJS8IypaDmiUB26/w4yWBQFziqFyZF6jZlCtzlCtzspKrgnPuN/cl8aWQZ4WZxV/oyia/KVfmBWo25coc5cqc7MilqRURkSCnQi4iEuSCsZCP8jvARShX5gVqNuXKHOXKHM9zBd0cuYiI/FowduQiInIOFXIRkSAX1IU8pzd9vhQzG2hma81sjZnNMbOb/M4EYGavm9mGs9mmmFkJvzMBmNnfzGydmWWYme/LxMysjZltNLMfzOwZv/P8l5mNM7N9Zpbgd5ZzmdnNZvatmSWe/e/4L78zAZhZITNbbmbfnc31ot+ZzmVmV5nZajOb7tWYQVvIc3rT58v0unOulnMuHJgOPO9znv/6GghzztUCNgH9fM7zXwnAX4AFfgcxs6uAd4A7gVDgHjML9TfVL94H2vgd4gLSgSecc9WBhkCvAPmZnQJaOudqA+FAGzNr6G+kX/kXkOjlgEFbyMnBTZ8vl3Mu5ZyHRQmQbM65Oc659LMPl3JmNyffOecSnXMb/c5xViTwg3Nuq3MuFfgYuMvnTAA45xYAB/zOcT7n3G7n3Kqz3x/hTHEq528qcGccPfuwwNmvgPhdNLMQoB0wxstxg7KQZ2bT55xmZi+b2c/AfQROR36uh4BZfocIQOWAn895vIMAKErBwswqAnWAZT5HAX6ZvlgD7AO+ds4FRC7gTc40oBleDurZxhJeu5xNn3M20Rm/l8s596Vzrj/Q38z6AY8CAwIh19n39OfMP4cn5ESmy80VIOwCzwVEFxfozKwYMBl47Lx/lfrGOXcaCD97PmiKmYU553w9x2Bm7YF9zrmVZhbl5dgBW8gDddPni+W6gInADHKokF8ql5k9CLQHbnc5ePFAJn5eftsB3HzO4xBgl09ZgoaZFeBMEZ/gnPvc7zznc84dMrNYzpxj8PtkcROgg5m1BQoBxc3sI+fc/VkdOOimVpxz3zvnSjvnKp7dXm4HUDcnivilmNkt5zzsAGzwK8u5zKwN0Bfo4Jw77neeALUCuMXMKplZQeBuYKrPmQKanemkxgKJzrmhfuf5LzMr9d+VWWZWGGhFAPwuOuf6OedCztatu4F5XhRxCMJCHuD+18wSzGwtZ6Z+AmI5FvA2cA3w9dmlkSP8DgRgZh3NbAfQCJhhZrP9ynL2ZPCjwGzOnLSb5Jxb51eec5nZ/wFLgKpmtsPMov3OdFYT4B9Ay7P/X6052236rSzw7dnfwxWcmSP3bKlfINIl+iIiQU4duYhIkFMhFxEJcirkIiJBToVcRCTIqZCLiAQ5FXIRkSCnQi4iEuT+H/vX2RB2sMBOAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-4, 4, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.relu(x) \n",
    "plt.plot(x, y, label=\"relu\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8670c4f5",
   "metadata": {},
   "source": [
    "## selu\n",
    "```python\n",
    "tf.keras.activations.selu(\n",
    "    x\n",
    ")\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "id": "58e41112",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x282fd8f10>"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-4, 4, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.selu(x) \n",
    "plt.plot(x, y, label=\"selu\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "74c7af25",
   "metadata": {},
   "source": [
    "## sigmoid\n",
    "```python\n",
    "tf.keras.activations.sigmoid(\n",
    "    x\n",
    ")\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "4f6ab7a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x281895400>"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-1, 1, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.sigmoid(x) \n",
    "plt.plot(x, y, label=\"sigmoid\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "568e0ada",
   "metadata": {},
   "source": [
    "## tanh\n",
    "```python\n",
    "tf.keras.activations.tanh(\n",
    "    x\n",
    ")\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "9421307c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x282f34370>"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np\n",
    "\n",
    "x = np.arange(-2, 2, 0.02)\n",
    "plt.plot(x, x,label=\"org\",color=\"black\")\n",
    "\n",
    "y = tf.keras.activations.tanh(x) \n",
    "plt.plot(x, y, label=\"tanh\",color=\"blue\")\n",
    "\n",
    "plt.legend(loc=\"upper left\", fontsize=14)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b54e5a7a",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0529fdb4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ab68c95",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f26e6220",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "325de62e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "386b3485",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
